﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using AccesoDatos.Manejador;
using AccesoDatos.Objetos;
using Conexion;
using System.Windows.Forms;

namespace Autorizacion_facturas_caja
{
    public partial class frmPrestamos_enAutorizacion : Form
    {
        Manejador_Prestamos_ConsultasListas Man = new Manejador_Prestamos_ConsultasListas();
        Manejador_Empleado_Captura Mane = new Manejador_Empleado_Captura();
        public objPrestamos obj = new objPrestamos();
        objRH obj1 = new objRH();
        string nombre;
        string sucursal;
        public frmPrestamos_enAutorizacion()
        {
            InitializeComponent();
            ToolTip1();
            ObtieneDatosCombo();
        }
        private void frmPrestamosenAutorizacion_Load(object sender, EventArgs e)
        {
            Llena_Datagrid();
        }

        #region Funciones
            private void ObtieneDatosCombo()
            {
                //Obtiene los datos de la tabla cat_sucursales al combo de sucursales
                cmbSucursal.DataSource = Mane.ObtieneSucursales();
                cmbSucursal.ValueMember = "SucId";
                cmbSucursal.DisplayMember = "Nombre";
            }
            private void propiedadesColumnas()
            {
                try
                {
                    this.dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.RowHeadersVisible = false;
                    /*Esconde las columnas*/
                    this.dataGridView1.Columns["id_empleado"].Visible = false;
                    this.dataGridView1.Columns["id_prestamo"].Visible = false;
                    this.dataGridView1.Columns["fecha_autorizacion"].Visible = false;
                    this.dataGridView1.Columns["descripcion"].Visible = false;
                    this.dataGridView1.Columns["plazo"].Visible = false;
                    this.dataGridView1.Columns["cantidad_autorizada"].Visible = false;
                    this.dataGridView1.Columns["cantidad_descontar"].Visible = false;
                    this.dataGridView1.Columns["cantidad_pagada"].Visible = false;
                    this.dataGridView1.Columns["autorizado"].Visible = false;
                    this.dataGridView1.Columns["estatus"].Visible = false;
                    this.dataGridView1.Columns["id_empleado1"].Visible = false;
                    this.dataGridView1.Columns["id_sucursal"].Visible = false;
                    this.dataGridView1.Columns["fecha_ingreso"].Visible = false;
                    this.dataGridView1.Columns["id_jefe"].Visible = false;
                    this.dataGridView1.Columns["cuenta_banco"].Visible = false;
                    this.dataGridView1.Columns["estatus1"].Visible = false;
                    this.dataGridView1.Columns["nombre"].Visible = false;
                    this.dataGridView1.Columns["apellidos"].Visible = false;
                    this.dataGridView1.Columns["razones"].Visible = false;
                    this.dataGridView1.Columns["puesto"].Visible = false;
                    this.dataGridView1.Columns["empresa"].Visible = false;
                    this.dataGridView1.Columns["Nombre1"].Visible = false;

                    //Renombra columnas
                    this.dataGridView1.Columns["Nombre_apellidos"].HeaderText = "EMPLEADO";
                    this.dataGridView1.Columns["departamento"].HeaderText = "DEPARTAMENTO";
                    this.dataGridView1.Columns["puesto"].HeaderText = "PUESTO";
                    this.dataGridView1.Columns["fecha_solicitud"].HeaderText = "FECHA SOLICITUD";
                    this.dataGridView1.Columns["tipo_prestamo"].HeaderText = "TIPO PRESTAMO";
                    this.dataGridView1.Columns["cantidad_solicitada"].HeaderText = "CANTIDAD SOLICITADA";
                    this.dataGridView1.Columns["prioridad"].HeaderText = "PRIORIDAD";
                    this.dataGridView1.Columns["Nombre1"].HeaderText = "SUCURSAL";
                    this.dataGridView1.Columns["sueldo_mensual"].HeaderText = "SUELDO MENSUAL";

                    //Ordena Columnas
                    this.dataGridView1.Columns["Nombre_apellidos"].DisplayIndex = 1;
                    this.dataGridView1.Columns["Nombre1"].DisplayIndex = 2;
                    this.dataGridView1.Columns["departamento"].DisplayIndex = 3;
                    this.dataGridView1.Columns["puesto"].DisplayIndex = 4;
                    this.dataGridView1.Columns["sueldo_mensual"].DisplayIndex = 5;
                    this.dataGridView1.Columns["fecha_solicitud"].DisplayIndex = 6;
                    this.dataGridView1.Columns["tipo_prestamo"].DisplayIndex = 7;
                    this.dataGridView1.Columns["cantidad_solicitada"].DisplayIndex = 8;
                    this.dataGridView1.Columns["prioridad"].DisplayIndex = 9;

                    //Formato
                    this.dataGridView1.Columns["cantidad_solicitada"].DefaultCellStyle.Format = "c";
                    this.dataGridView1.Columns["sueldo_mensual"].DefaultCellStyle.Format = "c";
                    this.dataGridView1.Columns["fecha_solicitud"].DefaultCellStyle.Format = "d";

                    //Alinea el contenido de la celda
                    this.dataGridView1.Columns["Nombre_apellidos"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.Columns["departamento"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.Columns["puesto"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.Columns["fecha_solicitud"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.Columns["tipo_prestamo"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.Columns["cantidad_solicitada"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.Columns["prioridad"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.Columns["Nombre1"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.Columns["sueldo_mensual"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;

                    this.dataGridView1.Columns["sueldo_mensual"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.Columns["cantidad_solicitada"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    //this.dataGridView1.Columns["Nombre1"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    //this.dataGridView1.Columns["departamento"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.Columns["fecha_solicitud"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.Columns["tipo_prestamo"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    this.dataGridView1.Columns["prioridad"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                }
                catch { }
            }
            private void ToolTip1()
            {

                ToolTip toolTip1 = new ToolTip();
                toolTip1.ShowAlways = true;
                toolTip1.SetToolTip(this.btnBuscar, "BUSCAR");
                toolTip1.SetToolTip(this.btnModificar, "MODIFICAR");
                toolTip1.SetToolTip(this.btnSalir, "REGRESAR");
                toolTip1.SetToolTip(this.btnAutorizar, "AUTORIZAR");
              
            }  
            private void Llena_Datagrid() 
            {
                try
                {
                    Valores();
                    dataGridView1.DataSource = Man.ListaPrestamosEnAutorizacion(obj.Prioridad, nombre, sucursal);
                    propiedadesColumnas();
                }
                catch { }

            }
            private void Valores()
            {
                try
                {
                    if (rdoAlta.Checked) obj.Prioridad = "ALTA";
                    else obj.Prioridad = "BAJA";
                    nombre = txtNombre.Text.Trim();
                    sucursal = cmbSucursal.SelectedValue.ToString();
                }
                catch
                {

                }
            }
        #endregion 
       
        #region BOTONES

        private void btnBuscar_Click(object sender, EventArgs e)
            {
                Llena_Datagrid();
            }
         
            private void btnModificar_Click(object sender, EventArgs e)
            {
                try
                {
                    if (obj1 != null && obj != null)
                    {
                        frmPrestamos_Captura capt = new frmPrestamos_Captura(obj1, 1, 2, obj);
                        capt.ShowDialog();
                        dataGridView1.DataSource = Man.ListaPrestamosEnAutorizacion(obj.Prioridad, nombre, sucursal);
                        propiedadesColumnas();
                    }
                }
                catch { MessageBox.Show("SELECCIONAR EMPLEADO", "ALERTA"); }
            }

            private void btnSalir_Click(object sender, EventArgs e)
            {
                Close();
            }

            private void btnAutorizar_Click(object sender, EventArgs e)
            {
                try
                {
                    frmPrestamos_Autoriza aut = new frmPrestamos_Autoriza(obj, obj1, 1);
                    aut.ShowDialog();
                    dataGridView1.DataSource = Man.ListaPrestamosEnAutorizacion(obj.Prioridad, nombre, sucursal);
                    propiedadesColumnas();
                }
                catch { MessageBox.Show("SELECCIONAR EMPLEADO", "ALERTA"); }
            }

        #endregion

        #region eventos

            private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                try
                {
                    if (e.ColumnIndex >= 0 && e.RowIndex >= 0)
                    {

                        obj.Id_Prestamo = Convert.ToInt32(dataGridView1[11, e.RowIndex].Value);
                        obj.Fecha_Solicitud = Convert.ToDateTime(dataGridView1[13, e.RowIndex].Value);
                        obj.Tipo_prestamo = dataGridView1[15, e.RowIndex].Value.ToString();
                        obj.Cantidad_Solicitud = dataGridView1[18, e.RowIndex].Value.ToString();
                        obj.Prioridad = dataGridView1[23, e.RowIndex].Value.ToString();
                        obj1.Nombre_completo = dataGridView1[28, e.RowIndex].Value.ToString();
                        obj1.Departamento = dataGridView1[7, e.RowIndex].Value.ToString(); ;
                        obj1.Puesto = dataGridView1[5, e.RowIndex].Value.ToString();
                        obj1.Nombre_Sucursal = dataGridView1[26, e.RowIndex].Value.ToString();
                        obj1.Sueldo_Mensual = dataGridView1[27, e.RowIndex].Value.ToString();

                    }
                }
                catch { }

            }
            private void cmbSucursal_SelectedIndexChanged(object sender, EventArgs e)
        {
            Llena_Datagrid();
        }
            private void rdoAlta_CheckedChanged(object sender, EventArgs e)
            {
                Llena_Datagrid();
            }
            private void rdoBaja_CheckedChanged(object sender, EventArgs e)
            {
                Llena_Datagrid();
            }
            private void txtNombre_TextChanged(object sender, EventArgs e)
            {
                Llena_Datagrid();

            }
        #endregion

          


    }
}
